Before I start building up the server for the application, I wanted to pen down the structure for the app. The structure is represented below.
Abbreviations:
- WSA: Web Speech API (Speech to Text)
- NLP: Natural Language Processing Tool (Syntaxnet or Google Cloud NLP API)
- DIS: Database Indexed Search
- DDI: Database Dynamic Indexing
- DES: Database Exhaustive Search
- NES: NoSQL Database Elastic Search
- SFT: SQL Database Full Text Search
Server Decisions
- Server will be built on node js (express js) as of now. Node JS is capable of forking processes to run shell commands on the server and evoke output. A barebones express js server will allow the app to be small, quick and efficient.
- The server needs to be a VPS with some minimum requirements to support syntaxnet if that is chosen. If we use the Google Cloud NLP API all the way, we will still need a google cloud instance.